$(function() {
	//绑定添加信息类型事件
	$('#addInfoType').click(function(){
		var name = $('#name');
		if($.trim(name.val()) === '') {
			alert('请填写信息类型名称!');
			name.focus();
			return;
		}
		var remark = $('#remark');
		var pid = $('#pid');
		jQuery.ajax({
			url : webroot + '/info/json/addInfoType.shtml',
			data : {
				'name' : $.trim(name.val()),
				'remark' : $.trim(remark.val()),
				'pid' : $.trim(pid.val())
			},
			type : 'POST',
			dataType : 'json',
			async : true,
			beforeSend: function(){
				//提交处理的函数
				loading('添加信息类型中...');
			},
			error : function(json){
				alert('添加信息类型出错了~');
				unloading();
			},
			//返回的是一个对象
			success : function(json){
				if(json.result === 'success') {
					alert('添加信息类型成功!');
					findInfoType();
					//初始化类型
					initInfoType();
				}
				else if(json.result === 'error_not_admin') {
					alert('您不是管理员!');
				}
				else if(json.result === 'error') {
					alert('请求操作, 系统出现异常!');
				}
				unloading();
			}
		});
	});

	//查询信息类型
	$('#queryInfoType').click(function() {
		findInfoType();
	});

	//初始化类型
	initInfoType();

	//加载类型
	findInfoType();
});

/**
 * 初始化下拉框
 */
function initInfoType() {
	jQuery.ajax({
		url : webroot + '/info/json/findParentInfoType.shtml',
		data : {},
		type : 'POST',
		dataType : 'json',
		async : true,
		beforeSend: function(){
			//提交处理的函数
			loading('查找信息类型中...');
		},
		error : function(json){
			alert('查找信息类型出错了~');
			unloading();
		},
		//返回的是一个对象
		success : function(json){
			if(json.result === 'success') {
				var _pid = $('#pid');
				_pid.empty();
				_pid.append('<option value="0">一级分类</option>');
				$.each(json.data, function(i, obj) {
					_pid.append('<option value="' + obj.id + '">' + obj.name + '</option>');
				});
			}
			else if(json.result === 'error') {
				alert('请求操作, 系统出现异常!');
			}
			unloading();
		}
	});
}

/**
 * 查找信息类型
 * @return
 */
function findInfoType() {

	var result = '<table><thead><tr>'
		+'<th>编号</th>'
		+'<th>名称</th>'
		+'<th>父编号</th>'
		+'<th>备注</th>'
		+'<th>操作</th></tr></thead><tbody>';
	jQuery.ajax({
		url : webroot + '/info/json/findInfoType.shtml',
		data : {},
		type : 'POST',
		dataType : 'json',
		async : true,
		beforeSend: function(){
			//提交处理的函数
			loading('查找信息类型中...');
		},
		error : function(json){
			alert('查找信息类型出错了~');
			result += '<tr><td colspan="5">查找信息类型出错了~</td></tr></tbody></table>';
			$('#bodyInfoType').html(result);
			unloading();
		},
		//返回的是一个对象
		success : function(json){
			if(json.result === 'success') {
				if(json.data.length > 0) {
					$.each(json.data, function(i, obj) {
						result += '<tr><td>' + obj.id + '</td><td>' + obj.name + '</td><td>' + obj.pid + '</td><td>' + obj.remark + '</td><td><a href="#" onclick="infoType.updateInfoTypePrompt(' + obj.id + ', \'' + obj.name + '\', ' + obj.pid + ', \'' + obj.remark + '\');">修改</a></td></tr>';
					});
				} else {
					result += '<tr><td colspan="5">没有查找到信息类型的数据!</td></tr>';
				}
			}
			else if(json.result === 'error') {
				alert('请求操作, 系统出现异常!');
			}
			result += "</tbody></table>";
			$('#bodyInfoType').html(result);
			unloading();
		}
	});
}

var infoType = {
		/**
		 * 修改提示框
		 */
		updateInfoTypePrompt : function(_id, _name, _pid, _remark) {
			jQuery.ajax({
				url : webroot + '/info/json/findParentInfoType.shtml',
				data : {},
				type : 'POST',
				dataType : 'json',
				async : true,
				beforeSend: function(){
					//提交处理的函数
					loading('查找信息类型中...');
				},
				error : function(json){
					alert('查找信息类型出错了~');
					unloading();
				},
				//返回的是一个对象
				success : function(json){
					if(json.result === 'success') {
						var _updateType = '<select id="updatePid"><option value="0">一级分类</option>';
						$.each(json.data, function(i, obj) {
							_updateType += '<option value="' + obj.id + '"' + (_pid === obj.id ? 'selected="selected"' : '') + '>' + obj.name + '</option>';
						});
						_updateType += '</select>';

						var _content = '<div class="promptsys">';
						_content += '<p>名称: <input type="text" class="input" id="updateName" value="' + _name + '"/>&nbsp;</p>';
						_content += '<p>类型: ' + _updateType + '</p>';
						_content += '<p>备注: <input type="text" class="input" id="updateRemark" value="' + _remark + '"/></p>';
						_content += '<p class="center"><a href="javascript:void(0);" onclick="infoType.updateInfoType(' + _id + ');" class="btngreenbig">&nbsp;修&nbsp;改&nbsp;</a><p>';
						_content += '</div>';
						prompt.colorbox(_content, '修改信息类型');
					}
					else if(json.result === 'error') {
						alert('请求操作, 系统出现异常!');
					}
					unloading();
				}
			});
		},

		/**
		 * 修改类型
		 * @param _id
		 */
		updateInfoType : function(_id) {
			var name = $('#updateName');
			if($.trim(name.val()) === '') {
				alert('请填写信息类型名称!');
				name.focus();
				return;
			}
			var remark = $('#updateRemark');
			var pid = $('#updatePid');
			jQuery.ajax({
				url : webroot + '/info/json/updateInfoType.shtml',
				data : {
					'id' : _id,
					'name' : $.trim(name.val()),
					'remark' : $.trim(remark.val()),
					'pid' : $.trim(pid.val())
				},
				type : 'POST',
				dataType : 'json',
				async : true,
				beforeSend: function(){
					//提交处理的函数
					loading('修改信息类型中...');
				},
				error : function(json){
					alert('修改信息类型出错了~');
					unloading();
				},
				//返回的是一个对象
				success : function(json){
					if(json.result === 'success') {
						alert('修改信息类型成功!');
						findInfoType();
					}
					else if(json.result === 'error_not_admin') {
						alert('您不是管理员!');
					}
					else if(json.result === 'error') {
						alert('请求操作, 系统出现异常!');
					}
					unloading();
				}
			});
		}
};